/**
 * 运动员模块静态字典常量
 * 包含运动员管理相关的前端字典数据
 */

import { AthleteStatus, AuditState, VerifyStatus } from '@/api/athlete/types'
import { SYSTEM_DICT, ATHLETE_DICT, ORG_DICT } from './dictKeys'

/**
 * 运动员模块需要预加载的所有字典类型
 *
 * 说明:
 * - 使用字典键名常量,避免魔法字符串和拼写错误
 * - 已去除重复项 (之前 comp_athlete_org_level 和 comp_athlete_train_type 重复)
 * - 这些字典会在路由守卫中预加载,提升页面访问性能
 */
export const API_DICTS = [
	// 系统字典
	SYSTEM_DICT.SEX, // 性别
	SYSTEM_DICT.NATION, // 民族
	SYSTEM_DICT.AUDIT_STATUS, // 审核状态

	// 运动员字典
	ATHLETE_DICT.PROJECT, // 运动员项目
	ATHLETE_DICT.LEVEL, // 运动员等级
	ATHLETE_DICT.RACE_LEVEL, // 赛事级别
	ATHLETE_DICT.TRAIN_TYPE, // 集训形式

	// 组织字典
	ORG_DICT.FIRST_TYPE, // 单位一级类型 (区分注册单位和在训单位)
	ORG_DICT.LEVEL // 单位等级
	// 注: ORG_DICT.SECOND_TYPE (单位二级类型) 按需在具体页面使用,不需要全局预加载
] as const

/**
 * 运动员的审核状态选项
 */
export const AUDIT_STATE_OPTIONS = [
	{
		label: '待审核',
		value: 2
	},
	{
		label: '已核准',
		value: 3
	},
	{
		label: '已驳回',
		value: 4
	}
]

/**
 * 验证状态选项
 */
export const VERIFY_STATUS_OPTIONS = [
	{
		label: '否',
		value: VerifyStatus.NO
	},
	{
		label: '是',
		value: VerifyStatus.YES
	}
] as const

/**
 * 注册状态选项
 */
export const REGISTER_STATUS_OPTIONS = [
	{
		label: '已注册',
		value: 'registered'
	},
	{
		label: '未注册',
		value: 'unregistered'
	},
	{
		label: '注册中',
		value: 'registering'
	},
	{
		label: '注册失效',
		value: 'expired'
	}
] as const
